package network.messages;

import org.json.*;

/**
 * Mensagem de setar Id de um cliente
 * @author Victor
 */
public class MensagemUpdatePosicaoPlayer extends Mensagem
{
	private final String FROM_ATTR = "from";
	private final String POSICAO_X_ATTR = "posicaoX";
	private final String POSICAO_Y_ATTR = "posicaoY";
        private final String VELOCIDADE_Y_ATTR = "velocidadeY";
	
	private int _from;

	private int _posicaoX;
	private int _posicaoY;
        
        private double _velocidadeY;

	public int GetFrom()
	{
		return _from;
	}

	public void SetFrom(int from)
	{
		_from = from;
	}

	public int GetPosicaoX()
	{
		return _posicaoX;
	}

	public void SetPosicaoX(int posicaoX)
	{
		_posicaoX = posicaoX;
	}

	public int GetPosicaoY()
	{
		return _posicaoY;
	}

	public void SetPosicaoY(int posicaoY)
	{
		_posicaoY = posicaoY;
	}
        
        public double GetVelocidadeY()
        {
                return _velocidadeY;
        }
        
        public void SetVelocidadeY(double velocidade)
        {
                _velocidadeY = velocidade;
        }

	@Override
	public void Construct(JSONObject jsonObject)
	{
		try
		{
			_from = jsonObject.getInt(FROM_ATTR);
			_posicaoX = jsonObject.getInt(POSICAO_X_ATTR);
			_posicaoY = jsonObject.getInt(POSICAO_Y_ATTR);
                        _velocidadeY = jsonObject.getDouble(VELOCIDADE_Y_ATTR);
		}
		catch (JSONException err)
		{
			err.printStackTrace();
		}
	}

	@Override
	public JSONObject GetJSONObject()
	{
		JSONObject jsonObject = new JSONObject();

		try
		{
			jsonObject.put(MensagemFactory.KIND_ATTR, MensagemFactory.KIND_UPDATE_POSICAO_PLAYER);
			jsonObject.put(FROM_ATTR, _from);
			jsonObject.put(POSICAO_X_ATTR, _posicaoX);
			jsonObject.put(POSICAO_Y_ATTR, _posicaoY);
                        jsonObject.put(VELOCIDADE_Y_ATTR, _velocidadeY);
		}
		catch (JSONException err)
		{
			err.printStackTrace();
		}

		return jsonObject;
	}
}
